/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.util.ArrayList;

/**
 *
 * @author menderleit
 */
public class Ordre {

    private int ordreId;
    private String leveringsDatoTid;
    private String bestillingDatoTid;
    private int status;
    private int kundeId;
    private int budId;
    private ArrayList<PizzaOrdre> pizzas;

    public Ordre() {
        ordreId = 0;
        leveringsDatoTid = null;
        bestillingDatoTid = null;
        status = 0;
        kundeId = 0;
        budId = 0;
        pizzas = new ArrayList();
    }

    public Ordre(int kundeId) {
        ordreId = 0;
        this.kundeId = kundeId;
        leveringsDatoTid = null;
        bestillingDatoTid = null;
        status = 0;
        budId = 0;
        pizzas = new ArrayList();
    }

    public Ordre(int ordreId, int status, int kundeId) {
        this.ordreId = ordreId;
        this.status = status;
        this.kundeId = kundeId;
        budId = 0;
        pizzas = new ArrayList();
        leveringsDatoTid = null;
        bestillingDatoTid = null;
    }

    public void addPizza(PizzaOrdre p) {
        pizzas.add(p);
    }

    public void removePizza(int index) {
        if (index >= 0 && index < pizzas.size()) {
            pizzas.remove(index);
        }
    }

    public Pizza getPizza(int index) {
        Pizza p = null;
        if (index >= 0 && index < pizzas.size()) {
            p = pizzas.get(index).getPizza();
        }
        return p;
    }

    public ArrayList<PizzaOrdre> getPizzaList() {
        return pizzas;
    }

    public String getBestillingDatoTid() {
        return bestillingDatoTid;
    }

    public void setBestillingDatoTid(String bestillingDatoTid) {
        this.bestillingDatoTid = bestillingDatoTid;
    }

    public int getBudId() {
        return budId;
    }

    public void setBudId(int budId) {
        this.budId = budId;
    }

    public int getKundeId() {
        return kundeId;
    }

    public void setKundeId(int kundeId) {
        this.kundeId = kundeId;
    }

    public String getLeveringsDatoTid() {
        return leveringsDatoTid;
    }

    public void setLeveringsDatoTid(String leveringsDatoTid) {
        this.leveringsDatoTid = leveringsDatoTid;
    }

    public int getOrdreId() {
        return ordreId;
    }

    public void setOrdreId(int ordreId) {
        this.ordreId = ordreId;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String ordreStatusTekst(int status) {
        String statusTekst = "";
        switch (status) {
            case 0:
                statusTekst = "Ordreren er sendt og modtaget af pizzariaet.";
                break;
            case 1:
                statusTekst = "Ordreren er påbegyndt.";
                break;
            case 2:
                statusTekst = "Pizzaerne bliver lavet.";
                break;
            case 3:
                statusTekst = "Ordreren er færdigt og sendt til udbringning.";
                break;
            case 4:
                statusTekst = "Ordren udbringes.";
                break;
            case 5:
                statusTekst = "Ordreren er leveret til kundens adresse.";
                break;
        }

        return statusTekst;
    }

    public int getOrdrePris() {
        int pris = 0;
        for(int i=0; i<pizzas.size(); i++) {
            pris += pizzas.get(i).getPizza().getSizes().get(pizzas.get(i).getSize()).getPris();
        }
        return pris;
    }
    
    public String getOrdreBeskrivelse() {
        String ordreBeskrivelse = getOrdreId() + "\n";
        int pris = 0;
        for (int i = 0; i < pizzas.size(); i++) {
            ordreBeskrivelse += pizzas.get(i).toString() + "\n";
         
        }
        
        return ordreBeskrivelse;
    }

    @Override
    public String toString() {
        return " Ordre: " + getOrdreId() + "\n";
    }
}
